//
// Copyright (c) 2024 BPer
//
#ifndef __BPerIni__H_
#define __BPerIni__H_
#include <bperutil/BPerAvInfoType.h>
#if !(BPer_OS_ANDROID || BPer_OS_IOS)

typedef struct{
	char* filename;
	void (*initAvinfo)(char* filename,BPerAVInfo* avinfo);
	void (*initVideo)(char* filename,BPerVideoInfo *video);
	void (*initAudio)(char* filename,BPerAudioInfo *audio);
	void (*initSys)(char* filename,BPerSysInfo *sys);
	void (*initEnc)(char* filename,BPerVideoEncInfo *enc);
    void (*initRtc)(char* filename,BPerRtcInfo *rtc);

    int32_t (*readStringValue)(char* filename,const char *section, const char *key,char *val, const char *p_defaultStr);
    int32_t (*readIntValue)(char* filename,const char *section, const char *key,	int32_t p_defaultInt);
}BPerIni;

#ifdef __cplusplus
extern "C"{
#endif
void bPer_create_ini(BPerIni* ini,const char *filename);
void bPer_create_ini2(BPerIni *ini, char *fullpathfile);
void bPer_destroy_ini(BPerIni* ini);
#ifdef __cplusplus
}
#endif
#endif
#endif
